24 research outputs found

    Exact Gap Computation for Code Coverage Metrics in ISO-C

    Full text link
    Test generation and test data selection are difficult tasks for model based testing. Tests for a program can be meld to a test suite. A lot of research is done to quantify the quality and improve a test suite. Code coverage metrics estimate the quality of a test suite. This quality is fine, if the code coverage value is high or 100%. Unfortunately it might be impossible to achieve 100% code coverage because of dead code for example. There is a gap between the feasible and theoretical maximal possible code coverage value. Our review of the research indicates, none of current research is concerned with exact gap computation. This paper presents a framework to compute such gaps exactly in an ISO-C compatible semantic and similar languages. We describe an efficient approximation of the gap in all the other cases. Thus, a tester can decide if more tests might be able or necessary to achieve better coverage.Comment: In Proceedings MBT 2012, arXiv:1202.582

    Advanced compiler design and implementation

    No full text
    From the Foreword by Susan L. Graham: This book takes on the challenges of contemporary languages and architectures, and prepares the reader for the new compiling problems that will inevitably arise in the future. The definitive book on advanced compiler design This comprehensive, up-to-date work examines advanced issues in the design and implementation of compilers for modern processors. Written for professionals and graduate students, the book guides readers in designing and implementing efficient structures for highly optimizing compilers for real-world languages. Covering advanced issues in fundamental areas of compiler design, this book discusses a wide array of possible code optimizations, determining the relative importance of optimizations, and selecting the most effective methods of implementation. * Lays the foundation for understanding the major issues of advanced compiler design * Treats optimization in-depth * Uses four case studies of commercial compiling suites to illustrate different approaches to compiler structure, intermediate-code design, and optimization-these include Sun Microsystems's compiler for SPARC, IBM's for POWER and PowerPC, DEC's for Alpha, and Intel's for Pentium an related processors * Presents numerous clearly defined algorithms based on actual cases * Introduces Informal Compiler Algorithm Notation (ICAN), a language devised by the author to communicate algorithms effectively to peopl

    A. Bertoni. Mathematical methods of the theory of stochastic automata. Mathematical foundations of computer science, 3rd symposium at Jadwisin near Warsaw, June 17–22, 1974, edited by A. Blikle, Lecture notes in computer science, vol. 28, Springer-Verlag, Berlin, Heidelberg, and New York, 1975, pp. 9–22. - R. V. Freivald. Functions computable in the limit by probabilistic machines. Mathematical foundations of computer science, 3rd symposium at Jadwisin near Warsaw, June 17–22, 1974, edited by A. Blikle, Lecture notes in computer science, vol. 28, Springer-Verlag, Berlin, Heidelberg, and New York, 1975, pp. 77–87. - B. Goetze and R. Klette. Some properties of limit recursive functions. Mathematical foundations of computer science, 3rd symposium at Jadwisin near Warsaw, June 17–22, 1974, edited by A. Blikle, Lecture notes in computer science, vol. 28, Springer-Verlag, Berlin, Heidelberg, and New York, 1975, pp. 88–90. - Ole-Johan Dahl. An approach to correctness proofs of semicoroutines. Mathematical foundations of computer science, 3rd symposium at Jadwisin near Warsaw, June 17–22, 1974, edited by A. Blikle, Lecture notes in computer science, vol. 28, Springer-Verlag, Berlin, Heidelberg, and New York, 1975, pp. 157–174. - G. Wechsung. The axiomatization problem of a theory of linear languages. Mathematical foundations of computer science, 3rd symposium at Jadwisin near Warsaw, June 17–22, 1974, edited by A. Blikle, Lecture notes in computer science, vol. 28, Springer-Verlag, Berlin, Heidelberg, and New York, 1975, pp. 298–302. - L. Banachowski. Modular approach to the logical theory of programs. Mathematical foundations of computer science, 3rd symposium at Jadwisin near Warsaw, June 17–22, 1974, edited by A. Blikle, Lecture notes in computer science, vol. 28, Springer-Verlag, Berlin, Heidelberg, and New York, 1975, pp. 327–332. - Pierangelo Miglioli. Mathematical foundations of motivation languages and synthesis maps. Mathematical foundations of computer science, 3rd symposium at Jadwisin near Warsaw, June 17–22, 1974, edited by A. Blikle, Lecture notes in computer science, vol. 28, Springer-Verlag, Berlin, Heidelberg, and New York, 1975, pp. 388–408. - H. Rasiowa. ω +

    No full text

    The Complexity of Finite Memory Programs with Recursion

    No full text
    In an earlier paper (JACM, 1976) we studied the computational complexity of a number of questions of both programming and theoretical interest (e.g. halting, looping, equivalence) concerning the behaviour of programs written in an extremely simple programming language. These finite memory programs or fmps model the behaviour of FORTRAN-like programs with a finite memory whose size can be determined by examination of the program itself.The present paper is a continuation in which we extend the analysis to include ALGOL-like programs (called fmp^(rec) s) with the finite memory augmented by an implicit pushdown stack used to support recursion.Our major results are the following. First, we show that at least deterministic exponential time is required to determine whether a program in the basic fmpr~C model accepts a nonempty set. Then we show that a model with a limited version of call-by-name requires exponential space to determine acceptance of a nonempty set, and that a more sophisticated model with rewritable conditional formal parametershas an undecidable halting problem. The same lower bounds apply to the equivalence problem, which in contrast to the situation for the basic fmp model is not known to be decidable (since it is not known whether equivalence of deterministic pushdown automata is decidable)

    The Complexity of Finite Memory Programs with Recursion

    No full text

    Design and implementation of Java just-in-time compiler

    No full text

    The virtues of conflict

    No full text
    Modern shared memory multiprocessors permit reordering of memory operations for performance reasons. These reorderings are often a source of subtle bugs in programs written for such architectures. Traditional approaches to verify weak memory programs often rely on interleaving semantics, which is prone to state space explosion, and thus severely limits the scalability of the analysis. In recent times, there has been a renewed interest in modelling dynamic executions of weak memory programs using partial orders. However, such an approach typically requires ad-hoc mechanisms to correctly capture the data and control-flow choices/conflicts present in real-world programs. In this work, we propose a novel, conflict-aware, composable, truly concurrent semantics for programs written using C/C++ for modern weak memory architectures. We exploit our symbolic semantics based on general event structures to build an efficient decision procedure that detects assertion violations in bounded multi-threaded programs. Using a large, representative set of benchmarks, we show that our conflict-aware semantics outperforms the state-of-the-art partial-order based approaches

    A fast Fourier transform compiler

    No full text
    corecore